package com.lagou.dao;

import com.lagou.domain.Resource;
import com.lagou.domain.ResourceVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ResourceMapper {

    /**
     * 资源信息分页&条件查询
     *
     * @param resourceVO
     * @return
     */
    List<Resource> findAllResource(ResourceVO resourceVO);

    /**
     * 新增资源
     *
     * @param resource
     */
    void saveResource(Resource resource);

    /**
     * 更新资源
     *
     * @param resource
     */
    void updateResource(Resource resource);

    /**
     * 删除资源信息
     *
     * @param id 资源id
     * @return
     */
    void deleteResource(Integer id);

    /**
     * 获取用户拥有的资源权限信息
     *
     * @param ids 角色id列表
     * @return
     */
    List<Resource> findResourceByRoleId(List<Integer> ids);

    /**
     * 查询资源分类下对应的资源信息
     * @param categoryId 资源分类id
     * @param roleId    角色id
     * @return
     */
    List<Resource> findResourceByCategoryId(@Param("categoryId") Integer categoryId, @Param("roleId") Integer roleId);
}
